The present invention relates to a method of displaying objects in a virtual three-dimensional space and a storage medium on which a display program is recorded. More particularly, the invention provides a user interface devised to enable the user to freely walk through a virtual three-dimensional space displayed.
The technique of virtual three-dimensional display has been being applied to many fields of not only production of a video image of virtual three-dimensional computer graphics but also CAD, display of a result of scientific and technological calculation, and the like. In recent years, the technique is being applied also to fields such as information retrieval conventionally not related to virtual three-dimensional display (for example, Japanese Unexamined Patent Application Nos. 11-175534 and 2000-029885, and xe2x80x9cVisualization of Image Feature Space using VR Spacexe2x80x9d, by Hiroike, et al., IEICE Technical Report PRMU98-86 (1998-09), pp. 17 to 24).
Movement of the user through virtual three-dimensional (3D) space display is called xe2x80x9cwalk throughxe2x80x9d. One of generally known user interfaces having the walk through function a browser for VRML. By using the browser, the user can freely walk through the virtual 3D world described by the VRML. The VRML browser usually provides two kinds of typical interfaces for walk through. One of the interfaces has a function of realizing turns to the up, down, right and left in the direction of the line of sight (z direction) using the view point as a center, forward/backward movements in the direction of the line of sight, and translation of the view point in a plane (x-y plane) perpendicular to the direction of the line of sight, and realizing a simulation of an ordinary walking motion of a human. The other interface is equivalent to the former one with respect to the movements but has a function of turning the virtual three-dimensional space around the origin of the virtual three-dimensional space. The function enables the user to watch around an object displayed in the space. It can be therefore said that, in the case of taking an entire view of an object, the latter interface is convenient.
Although the turns according to the view point are suited to a case where the user selects an arbitrary direction and moves in the direction in the space but are not convenient to take a view of an entire object in the space. On the other hand, the method of turning the space side is convenient to take a view of an entire object disposed in the center of the space but is inconvenient for the user to virtually freely move in the space. When a plurality of objects exist in the space and the user wishes to take a view of each of the objects, it is necessary to reset the center point of the space.
When a space in which a virtual three-dimensional display is performed is a space in a virtual building or the like, even if the structure in the space is complicated, the user can walk through the space by making turns according to the view point with a sense relatively close to regular motions. On the other hand, in a scene where the structure of the space is simple and the user watches a single virtual three-dimensional object, it is sufficient to turn the space side.
However, for example, in the case of applying the technique to the fields such as information retrieval, a virtual three-dimensional world generated does not always correspond to the real world the human experiences daily. In the cited technique of Unexamined Patent Application No. 2000-029885, image contents in a data base are visualized virtually, three-dimensionally by using the similarity between images as a scale of space. In this case, the derived space expresses information space generated by features of images, which is inherently an abstract world. A number of data is spread in a virtual three-dimensional space while having local structures. The world has a complicated space structure and is different from any of the worlds the human daily experiences. The user has to walk through the space and approach desired data. Only by the simple turns according to the view point, the user loses sight of the entire view of the distribution of data, so that it is difficult to perform an efficient walk through.
In order to grasp the entire view of the data distribution, it can be considered to turn the space side. However, since the structure of the space is complicated, it is not clear to set the center of the turn in the space. In the case where the user sets the center of the turn, if a specific object exists around the point to be set as a center, a user interface can be designed so as to select the object as a center of the turn. However, when an appropriate object does not exist around the position to be set as a center of the turn, designing of the user interface for setting the center point becomes an issue.
The problem occurring in the case where the conventional user interface for walk through is used will be continuously an obstacle in future in the case where the virtual three-dimensional display is applied to various fields. A user interface having higher functions and realizing the walk through with ease of operation is therefore necessary.
Two reference objects A and B are prepared in a virtual three-dimensional space. Both of them have the user""s view point in a virtual three-dimensional space and are defined as reference objects moving different from each other.
The reference object A turns A itself. The reference object A has the function of making a turn according to the view point in the conventional technique. On the other hand, the reference object B revolves around the reference object A. Although the revolution is similar to the turn of the space itself in the conventional technique, since the reference object B itself revolves, the direction of turn is opposite to that of the conventional technique. The center of the revolution is an arbitrary position in the space where the reference object A is positioned. Since the reference object B revolves around the reference object A, the line of sight is always directed to the reference object A.
When the reference object A performs translation, the reference object B follows the movement of the reference object A while maintaining the relative positional relation with the reference object A and the relation of orientations. The movement of the reference object B is performed automatically, not by the user""s operation.
The user can select his/her view point between that of the reference object A and that of the reference object B. Then, the turns, movement, and the like of each of the reference objects A and B are controlled. Consequently, the functions of making the user walk freely through a space and easily grasp an entire view of the space, which are difficult to be realized by the conventional walk through function, can be realized.